#pragma once

#include "IBitmapPicture.h"
#include <vector> 
#include <deque>
#include <valarray>

typedef std::vector<BYTE> ByteVector;
typedef std::valarray<float> Array;

const int kInvalidIndex = -1;

///////////////////////////////////////////////

void MakeSimpleGradient(const IBitmapPicture&, Array& outResult);
void MakeGradient(const IBitmapPicture&, Array& outResult);
void MakeC2Gradient(const IBitmapPicture&, float blurRadius, Array& outResult);
void MakeGradientCross(const IBitmapPicture&, Array& outResult);
void MakeSensitivity(const IBitmapPicture&, float blurRadius,
	float thresholdRelative, float noiseLevel, float clutterSuppression, Array& outResult);
void MakeThreshold(const IBitmapPicture&, float blurRadius,
	float thresholdRelative, float noiseLevel, float clutterSuppression, Array& outResult);

void MakeC2GradientX(const IBitmapPicture&, float blurRadius, int lowBits, Array& outResult);


